home *** CD-ROM | disk | FTP | other *** search
/ STraTOS 1997 April & May / STraTOS 1 - 1997 April & May.iso / CD01 / PRGMANIA / INITFILE / INITFILE.DOC < prev    next >
Encoding:
Text File  |  1996-12-25  |  5.8 KB  |  187 lines

  1.  
  2.                 InitFile 1.0 décembre 1996
  3.                 -----------
  4.         Librairie C pour le SozobonX C (ou autre).
  5.         (Utiliser une tabulation de 8 caractères)
  6.  
  7. <=-----------------------------------------------------------------------=>
  8.         SOMMAIRE
  9.         
  10.         1> Introduction
  11.         2> Installation
  12.         3> Utilisation
  13.         4> Fonctionnalités
  14.           4.1> InfCreate
  15.           4.2> Fonctions de création / mise à jour des variables
  16.           4.3> Fonctions de lecture des variables
  17.           4.4> Fonctions de suppression de variables / sections 
  18.           4.5> InfFree
  19.         5> Conclusion
  20.  
  21.                 
  22. <=-----------------------------------------------------------------------=>
  23. 1> Introduction
  24.  
  25.     Il est quasi inévitable d'avoir à conserver les paramètres d'une
  26. application.
  27.     Cette librarie regroupe un ensemble minimum de fonctions destinées
  28. à faciliter la gestion de tels fichiers.
  29.  
  30.     Pour l'écrire, je me suis basé sur la méthode employée par Windows.
  31.  
  32. <=-----------------------------------------------------------------------=>
  33. 2> Installation
  34.  
  35.     Il suffit de copier InitFile.h dans le répertoire INCLUDE du 
  36. sozobonX C et InitFile.a dans le repertoire LIB/SOZOBONX.
  37.  
  38.     Bien sur, si vous avez un autre compilateur, il vous faudra 
  39. recompiler la librairie, mais cela ne devrait pas poser de problème.
  40.  
  41.  
  42. <=-----------------------------------------------------------------------=>
  43. 3> Utilisation
  44.  
  45.     Vous devez inclure InitFile.h dans vos sources et ajouter InitFile.a 
  46. dans la liste des librairies à l'édition de lien.
  47.  
  48.     Le plus simple est d'utiliser un fichier Makefile.
  49.  
  50. Cf : le makefile et le programme d'exemple fourni pour plus d'informations.
  51.  
  52.  
  53. <=-----------------------------------------------------------------------=>
  54. 4> Fonctionnalités
  55.  
  56.     Les fichiers générés ont la structure suivante :
  57.  
  58.     [NOM DE SECTION 1]
  59.     NOM DE VARIABLE1=CONTENU VARIABLE1
  60.     NOM DE VARIABLE2=CONTENU VARAIBLE2
  61.     ...
  62.     
  63.     [NOM DE SECTION 2]
  64.     ...
  65.     
  66.     Un nom de section peut contenir n'importe quel caractère dans la 
  67. limite de 64 (et au minimum 1 sinon on risque d'avoir une section [] dans
  68. le fichier !).
  69.  
  70.     Le nom d'une variable et sa valeur ont les mêmes contraintes sauf
  71. que leurs tailles respectives peuvent atteindre 128 caractères.
  72.  
  73.     La taille du couple chemin/nom de fichier peut être quelconque et 
  74. l'extension choisie dépend de l'utlisateur.
  75.  
  76. ATENTION :
  77.  
  78.     => AUCUN MESSAGE D'ERREUR N'EST JAMAIS RENVOYE
  79.     
  80.  
  81. 4.1> InfCreate
  82.  
  83. Syntaxe : InitFile *InfCreate (nomFic)
  84.  
  85. * char *nomFic.................. Nom du fichier paramètre  
  86.  
  87.     Cette fonction initialise la structure InitFile en ouvrant (ou
  88. en créant le fichier <nomFic> et en en chargeant le contenu si ce fichier
  89. existe déjà.
  90.  
  91.     Elle retourne un pointeur sur la structure InitFile ainsi définie.
  92.  
  93.  
  94. 4.2> Fonction de création / mise à jour des variables
  95.  
  96. Syntaxe : void InfWriteBool    (strIni, section, var, val);
  97. Syntaxe : void InfWriteInteger (strIni, section, var, val);
  98. Syntaxe : void InfWriteString  (strIni, section, var, val);
  99.  
  100. * InitFile **strIni............. Pointeur sur la structure InitFile 
  101.                                  retournée par InfCreate.
  102. * char *section................. Nom de la section
  103. * char *var..................... Nom de la variable
  104. * (short/long/char *)val........ Valeur de la variable
  105.  
  106.     Cette fonction ajoute une variable <var> de la section <section> ou
  107. met à jour son contenu.
  108.  
  109.     Une variable peut être de type :
  110.     - Booléen (valeur VRAI ou FAUX),
  111.     - Entier LONG,
  112.     - Chaine de caractères. 
  113.  
  114.  
  115. 4.3> Fonction de lecture des variables
  116.  
  117. void InfReadBool    (strIni, section, var, def, val);
  118. void InfReadInteger (strIni, section, var, def, val);
  119. void InfReadString  (strIni, section, var, def, val);
  120.  
  121. * InitFile *strIni.............. Structure InitFile retournée par InfCreate.
  122. * char *section................. Nom de la section
  123. * char *var..................... Nom de la variable
  124. * (short/long/char)*val......... Valeur par défaut de la variable
  125. * (short */long */char *)val.... Variable devant contenir la valeur lue
  126.  
  127.     Cette fonction permet de lire le contenu d'une variable.
  128.  
  129.     Une variable peut être de type :
  130.     - Booléen (valeur VRAI ou FAUX),
  131.     - Entier LONG,
  132.     - Chaine de caractères. 
  133.  
  134.     Si la variable n'est pas trouvée, la valeur par défaut est placée
  135. dans la variable devant contenir le résultat, sinon c'est la valeur trouvée
  136. dans le fichier qui est placée dans la variable résultat.
  137.  
  138.  
  139. 4.4> Fonctions de suppression de variables / sections 
  140.  
  141. Syntaxe : void InfDeleteVar     (InitFile **strIni, char *section, char *var);
  142. Syntaxe : void InfDeleteSection (InitFile **strIni, char *section);
  143.  
  144. * InitFile **strIni............. Pointeur sur la structure InitFile 
  145.                                  retournée par InfCreate.
  146. * char *section................. Nom de la section
  147. * [char *var]................... Nom de la variable
  148.  
  149.     Ces fonctions permettent de supprimer en mémoire respectivement, une
  150. variable d'une section et une section complète.
  151.     On peut s'en servir dans le cadre de mise à jour de la structure du
  152. fichier de paramétrage dans le cadre d'un changement de version d'une
  153. application par exemple.
  154.     Si la variable (ou la section) n'existe pas (ou plus), elle ne 
  155. retournent aucune erreur.
  156.  
  157.  
  158. 4.5> InfFree
  159.  
  160. Syntaxe : void InfFree (InitFile *strIni)
  161.  
  162. * InitFile *strIni.............. Structure InitFile retournée par InfCreate.
  163.  
  164.     Cette fonction vide la structure InitFile et libère toute la mémoire
  165. qu'elle occupe.
  166.  
  167.  
  168. <=-----------------------------------------------------------------------=>
  169. 5> Conclusion
  170.  
  171.     Voilà, vous savez tout.
  172.     
  173.     J'espère que cette lib sera utile à quelqu'un. Bonne utilisation.
  174.     
  175.  
  176.                 Philippe CASTELLA
  177.  
  178.  
  179.  
  180. Email : pcastell@ifhamy.insa-lyon.fr            (pour encore qq tps)
  181. Http  : http://www.insa-lyon.fr/People/AEDI/pcastell    (idem, après ???)
  182. Snail : 49, rue Jean Jaurès                (de préférence !)
  183.     69740 Genas
  184.     FRANCE
  185.  
  186. (C) 1996 Philippe CASTELLA
  187.